<?php

class Core_Validate_Testemunha extends Zend_Validate_Abstract
{
	const NOME          = 'nome';
	const RG            = 'rg';
	const CPF           = 'cpf';
	const ESTADO_CIVIL  = 'estadoCivil';
	const PROFISSAO     = 'profissao';
	const NACIONALIDADE = 'nacionalidade';
	const NATURALIDADE  = 'naturalidade';
	
	protected $_messageTemplates = array(
		self::NOME          => 'Medida jurídica obrigatória',
		self::RG 			=> 'RG obrigatório',
		self::CPF           => 'CPF obrigatório',
		self::ESTADO_CIVIL  => 'Estado Civil obrigatório',
		self::PROFISSAO     => 'Profissão obrigatória',
		self::NACIONALIDADE => 'Nacionalidade obrigatório',
		self::NATURALIDADE  => 'Naturalidade obrigatório'
	);
		
	public function isValid($data)
	{
		$valid = true;
		
		if ('' == $data->nome) {
			$this->_error(self::NOME);
			$valid = false;
		}
		
		if ('' == $data->rg || !is_numeric($data->rg)) {
			$this->_error(self::RG);
			$valid = false;
		}
		
		if ('' == $data->cpf || !is_numeric($data->cpf)) {
			$this->_error(self::CPF);
			$valid = false;
		}
		
		if ('' == $data->id_estado_civil || !is_numeric($data->id_estado_civil)) {
			$this->_error(self::ESTADO_CIVIL);
			$valid = false;
		}
		
		if ('' == $data->id_profissao || !is_numeric($data->id_profissao)) {
			$this->_error(self::PROFISSAO);
			$valid = false;
		}
		
		if ('' == $data->id_nacionalidade || !is_numeric($data->id_nacionalidade)) {
			$this->_error(self::NACIONALIDADE);
			$valid = false;
		}
		
		if ('' == $data->id_naturalidade || !is_numeric($data->id_naturalidade)) {
			$this->_error(self::NATURALIDADE);
			$valid = false;
		}
		
		return $valid;
	}
}